Skip to content

fix(simulator): Reconcile simulator defaults when id+name are set#377

Merged
cameroncooke merged 2 commits intomainfrom
fix/issue-357-mainroot
Apr 29, 2026
Merged

fix(simulator): Reconcile simulator defaults when id+name are set#377
cameroncooke merged 2 commits intomainfrom
fix/issue-357-mainroot

Conversation

@cameroncooke
Copy link
Copy Markdown
Collaborator

Reconcile simulator defaults by simulator name even when both simulatorId and simulatorName are present.

Today refreshSimulatorDefaults only reconciles in one-sided cases (id-only or name-only), so a stale committed simulator UUID can survive unchanged when both keys are set. This change keeps the existing simple refresh flow and adds one branch for the both-set case: resolve simulatorName -> simulatorId, and patch in-memory defaults only when the resolved id differs.

I considered adding broader fallback behavior, but that would be over-scoped for this bug and against the canonical approach in #357. This PR intentionally stays localized to the refresh utility and focused tests.

Fixes #357

Refresh simulator defaults now validates simulatorName even when simulatorId is already set.
When the resolved id differs, session defaults are patched in memory only so
machine-specific UUID drift does not break simulator commands.

Add focused tests for the both-set behavior (match, mismatch, and lookup
failure) and document the fix in the unreleased changelog.

Fixes #357
Co-Authored-By: OpenAI Codex <noreply@openai.com>
@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented Apr 28, 2026

Open in StackBlitz

npm i https://pkg.pr.new/xcodebuildmcp@377

commit: a5f2860

@cameroncooke cameroncooke marked this pull request as ready for review April 29, 2026 08:18
Copy link
Copy Markdown
Contributor

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 2209c90. Configure here.

Comment thread src/utils/simulator-defaults-refresh.ts Outdated
Resolve simulator IDs from simulatorName in a single branch so name-only defaults do not fall through into the both-set reconciliation path. Keep simulatorName as the source of truth when present and only patch simulatorId when the resolved value differs.

Add regression coverage for the name-only refresh path to ensure it performs one resolver call.

Refs #357
Co-Authored-By: OpenAI Codex <noreply@openai.com>
@cameroncooke cameroncooke merged commit 9ad1718 into main Apr 29, 2026
29 checks passed
@cameroncooke cameroncooke deleted the fix/issue-357-mainroot branch April 29, 2026 08:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Simulator defaults refresh does not reconcile when both simulatorId and simulatorName are set

1 participant